package com.jessechanrui.template.common.template.auth.domain.support.repository;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jessechanrui.template.common.template.auth.domain.User;
import com.jessechanrui.template.core.entity.BasePageRequest;

import java.util.List;

/**
 * @author chenrui
 * @version 1.0
 * @description UserRepository
 * @date 2025/8/8
 */
public interface UserRepository {
    User findByUserName(String userName);

    User findByGerritUserName(String gerritUserName);

    List<User> list();

    IPage<User> listByPage(BasePageRequest request);

    void addUser(User user);

    void addUsers(List<User> users);

    void delete(Integer id);

    void deleteByUserIds(List<String> userIds);

    void updateUser(User user);

    void updateUsers(List<User> users);
}
